package com.ruoyi.cbs.approval.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 审核结果对象 cbs_approval_result
 * 
 * @author ruoyi
 * @date 2025-11-12
 */
public class ApprovalResult extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 审核结果主键 */
    private Long id;

    /** 审核对象ID：承包商ID, 项目ID, 作业计划ID */
    @Excel(name = "审核对象ID：承包商ID, 项目ID, 作业计划ID")
    private Long targetId;

    /** 审核对象名称 */
    @Excel(name = "审核对象名称")
    private String targetName;

    /** 审核对象类型：承包商，项目 */
    @Excel(name = "审核对象类型：承包商，项目")
    private String targetType;

    /** 审核配置id */
    @Excel(name = "审核配置id")
    private Long configId;

    /** 审批类型:  1准入审核  2开工审核 */
    @Excel(name = "审批类型:  1准入审核  2开工审核")
    private String approvalType;

    /** 审核步骤 */
    @Excel(name = "审核步骤")
    private String approvalStep;

    /** 审核人ID */
    @Excel(name = "审核人ID")
    private Long approvalUserId;

    /** 审核人姓名 */
    @Excel(name = "审核人姓名")
    private String approvalUserName;

    /** 审核结果: 0 待审 1通过 2退回修改 */
    @Excel(name = "审核结果: 0 待审 1通过 2退回修改")
    private String approvalStatus;

    /** 审核意见 */
    @Excel(name = "审核意见")
    private String comment;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approvalTime;

    /** 是否需要签字: 0否 1是 */
    @Excel(name = "是否需要签字: 0否 1是")
    private String requireSign;

    /** 签字URL */
    @Excel(name = "签字URL")
    private String signUrl;

    /** 审核步骤是否必须: 0可以跳过-认定状态通过 1必须 */
    @Excel(name = "审核步骤是否必须: 0可以跳过-认定状态通过 1必须")
    private String status;
    /** 审批流程：0未开始 1可操作 2已完成 */
    @Excel(name = "审批流程：0未开始 1可操作 2已完成")
    private String executeStatus;

//    private Long nextStep;
//    private String ifOperate;

    /** 删除标志（1代表存在 0代表删除） */
    private String delFlag;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setTargetId(Long targetId) 
    {
        this.targetId = targetId;
    }

    public Long getTargetId() 
    {
        return targetId;
    }

    public void setTargetName(String targetName)
    {
        this.targetName = targetName;
    }

    public String getTargetName()
    {
        return targetName;
    }

    public void setTargetType(String targetType)
    {
        this.targetType = targetType;
    }

    public String getTargetType() 
    {
        return targetType;
    }

    public void setConfigId(Long configId) 
    {
        this.configId = configId;
    }

    public Long getConfigId() 
    {
        return configId;
    }

    public void setApprovalType(String approvalType) 
    {
        this.approvalType = approvalType;
    }

    public String getApprovalType() 
    {
        return approvalType;
    }

    public void setApprovalStep(String approvalStep) 
    {
        this.approvalStep = approvalStep;
    }

    public String getApprovalStep() 
    {
        return approvalStep;
    }

    public void setApprovalUserId(Long approvalUserId) 
    {
        this.approvalUserId = approvalUserId;
    }

    public Long getApprovalUserId() 
    {
        return approvalUserId;
    }

    public void setApprovalUserName(String approvalUserName) 
    {
        this.approvalUserName = approvalUserName;
    }

    public String getApprovalUserName() 
    {
        return approvalUserName;
    }

    public void setApprovalStatus(String approvalStatus) 
    {
        this.approvalStatus = approvalStatus;
    }

    public String getApprovalStatus() 
    {
        return approvalStatus;
    }

    public void setComment(String comment) 
    {
        this.comment = comment;
    }

    public String getComment() 
    {
        return comment;
    }

    public void setApprovalTime(Date approvalTime) 
    {
        this.approvalTime = approvalTime;
    }

    public Date getApprovalTime() 
    {
        return approvalTime;
    }

    public void setRequireSign(String requireSign) 
    {
        this.requireSign = requireSign;
    }

    public String getRequireSign() 
    {
        return requireSign;
    }

    public void setSignUrl(String signUrl) 
    {
        this.signUrl = signUrl;
    }

    public String getSignUrl() 
    {
        return signUrl;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

//    public Long getNextStep() {
//        return nextStep;
//    }
//
//    public void setNextStep(Long nextStep) {
//        this.nextStep = nextStep;
//    }
//
//    public String getIfOperate() {
//        return ifOperate;
//    }
//
//    public void setIfOperate(String ifOperate) {
//        this.ifOperate = ifOperate;
//    }

    public String getExecuteStatus() {
        return executeStatus;
    }

    public void setExecuteStatus(String executeStatus) {
        this.executeStatus = executeStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("targetId", getTargetId())
            .append("targetType", getTargetType())
            .append("configId", getConfigId())
            .append("approvalType", getApprovalType())
            .append("approvalStep", getApprovalStep())
            .append("approvalUserId", getApprovalUserId())
            .append("approvalUserName", getApprovalUserName())
            .append("approvalStatus", getApprovalStatus())
            .append("comment", getComment())
            .append("approvalTime", getApprovalTime())
            .append("requireSign", getRequireSign())
            .append("signUrl", getSignUrl())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
